iT邦幫忙

DAY 15
6

與Python共舞系列 第 15

Python的學習之旅-建立訊息對話框Message Dialog

  • 分享至 

  • xImage
  •  

上次完成了視窗功能表,讓我們的功力更上一層樓!
就像玩鐵人大富翁一樣,打越多怪!等級會愈來愈高
所以我們也要多練習一些python的範例
這樣我們的python功力也才能越來越高
今天要介紹的是顯示對話方塊,讓使用者選擇回答是/否,或是回答OK等視窗對話框
例如:顯示出底下的畫面

首先一樣用之前的basic.py範例檔來編修
basic.py內容如下所示:

import wx
class bucky(wx.Frame):
    def __init__(self,parent,id):
        wx.Frame.__init__(self,parent,id,'Frame jackaitw window',size=(300,200))
        panel=wx.Panel(self)
           
if __name__ =='__main__':
    app=wx.PySimpleApp()
    frame=bucky(parent=None,id=-1)
    frame.Show()
    app.MainLoop() 

同樣的我們在底下這行指令之下

panel=wx.Panel(self)

去新增下面三行指令:

box=wx.MessageDialog(None,'鐵人大富翁好玩嗎?','Title for Messange Diaglog',wx.YES_NO)
        answer=box.ShowModal()
        box.Destroy()

第一行是顯示出'鐵人大富翁好玩嗎?'的訊息,視窗的標題名稱為'Title for Messange Diaglog'
然後wx.YES_NO表示顯示出讓使用者選擇YES和NO的按鈕
記得這裡一定要輸入wx.YES_NO而不能輸入wx.Yes_No喔!
否則會爆出錯誤訊息!
第二行是將使用者的選擇指定給answer這個變數
第三行是作為當使用者選擇完畢之後將畫面關閉掉
第二、三行都是預設一定要這樣寫的

所以完整的範例如下:

import wx
class bucky(wx.Frame):
    def __init__(self,parent,id):
        wx.Frame.__init__(self,parent,id,'Frame jackaitw window',size=(300,200))
        panel=wx.Panel(self)

        box=wx.MessageDialog(None,'鐵人大富翁好玩嗎?','Title for Messange Diaglog',wx.YES_NO)
        answer=box.ShowModal()
        box.Destroy()
       
if __name__ =='__main__':
    app=wx.PySimpleApp()
    frame=bucky(parent=None,id=-1)
    frame.Show()
    app.MainLoop() 

請存檔然後執行,看看會不會出現剛剛提到的那個"鐵人大富翁好玩嗎?"的畫面
範例成功!
經驗值+49
恭喜您!等級升級一級!目前是等級15


上一篇
Python的學習之旅-建立視窗選單
下一篇
Python的學習之旅-建立Text Boxes for Input
系列文
與Python共舞30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
SunAllen
iT邦研究生 1 級 ‧ 2010-10-12 10:30:42

大大,鐵人大富翁好玩嗎毆飛

jackaitw iT邦研究生 1 級 ‧ 2010-10-12 12:05:51 檢舉

太浪費時間了!
現在才等級36而已!打嗑睡

我要留言

立即登入留言